import antfu from '@antfu/eslint-config'

export default antfu(
  // 基础配置：支持 vue、typescript、unocss、格式化
  {
    vue: true,
    typescript: true,

    // Enable UnoCSS support
    // https://unocss.dev/integrations/vscode
    unocss: true,
    formatters: true,
  },
  // 规则配置：关闭所有严格和未使用相关的规则，保证开发和打包顺利
  {
    rules: {
      // 关闭 import/export 排序强制
      'perfectionist/sort-imports': 'off', // 关闭 import 排序强制
      'perfectionist/sort-exports': 'off', // 关闭 export 排序强制
      'perfectionist/sort-named-exports': 'off', // 关闭 named export 排序强制

      // 关闭未使用变量、参数、any、console、debugger 检查
      'no-unused-vars': 'off', // 允许未使用变量
      '@typescript-eslint/no-unused-vars': 'off', // 允许 TS 未使用变量
      '@typescript-eslint/explicit-module-boundary-types': 'off', // 允许函数无显式返回类型
      'no-explicit-any': 'off', // 允许使用 any
      'no-console': 'off', // 允许使用 console
      'no-debugger': 'off', // 允许使用 debugger

      // 关闭 vue 相关未使用和 prop 检查
      'vue/no-unused-vars': 'off', // 允许 vue 模板未使用变量
      'vue/no-v-html': 'off', // 允许使用 v-html
      'vue/require-default-prop': 'off', // 允许 prop 无默认值
      'vue/require-prop-types': 'off', // 允许 prop 无类型

      // 关闭 import/unused-imports 插件相关未使用检查
      'import/no-unused-vars': 'off', // 允许 import 未使用
      'unused-imports/no-unused-imports': 'off', // 允许未使用 import
      'unused-imports/no-unused-vars': 'off', // 允许未使用变量
    },
  },
  // 忽略部分目录
  {
    ignores: [
      '.github/**',
    ],
  },
)
